Skip to content

Conversation

@maxep
Copy link
Member

@maxep maxep commented Oct 31, 2025

What and why?

This PR adds DatadogDiagnosticFilter for the KSCrash integration, which generates human-readable diagnostic messages for crash reports. The filter analyzes crash data to determine the crash type (uncaught exceptions or signal-based crashes) and produces descriptive messages that explain the cause in plain language. This mirrors the diagnostic generation already present in DDCrashReportExporter for the PLCrashReporter integration, and is equivalent to KSCrash's KSCrashReportFilterDoctor, ensuring consistent crash descriptions across both crash reporting backends.

How?

The filter processes crash reports by analyzing the error data within each report. For uncaught NSException crashes, it extracts the exception name and reason to generate messages like "Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'unrecognized selector'."
For signal-based crashes, it maps Unix signal names (SIGSEGV, SIGABRT, etc.) to human-readable descriptions using a predefined dictionary, generating messages like "Application crash: SIGSEGV (Segmentation fault)". The filter injects these diagnostic messages into both the main crash report and any recrash reports present, with each report receiving a diagnosis based on its own error data.

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration)
  • Make sure each commit and the PR mention the Issue number or JIRA reference
  • Add CHANGELOG entry for user facing changes
  • Add Objective-C interface for public APIs (see our guidelines (internal) and run make api-surface)

@maxep maxep force-pushed the maxep/RUM-12420/kscrash-report-diagnostics branch from 7dd7890 to b77da86 Compare October 31, 2025 16:53
@maxep maxep force-pushed the maxep/RUM-12420/kscrash-typesafe branch from f1ecbe0 to 0644873 Compare November 3, 2025 14:03
@maxep maxep force-pushed the maxep/RUM-12420/kscrash-report-diagnostics branch 2 times, most recently from 686ce95 to 1f9fb08 Compare November 3, 2025 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants